草庐IT

python - 正则表达式 : match start or whitespace

全部标签

regex - Golang 正则表达式匹配字符串直到给定的字符序列

我有一个字符串,可以有一个-name后跟值(可以有空格),也可以有-descr后跟一个值(-descr后跟值可能不存在):示例字符串:runcmd-nameabcdxyz-descrabcdef或runcmd-nameabcdxyz使用Go语言,我该如何编写正则表达式,它会返回-descr之前的字符串(如果它存在)。所以,对于上面的两个例子,结果应该是:runcmd-nameabcdxyz我在尝试:regexp.MustCompile(`(-name).+?=-descr`)但是,那没有返回任何匹配项。我想知道正确的正则表达式来获取字符串直到-descr如果它存在

regex - IPv4 正则表达式捕获地址的不正确部分

这个问题在这里已经有了答案:Matchexactstring(3个答案)关闭3年前。我正在尝试编写一个程序,从终端输入中打印IPv4地址的无效部分。这是我的代码:packagechapter4import("bufio""fmt""os""regexp""strings""time")funcIPV4(){varf*os.Filef=os.Stdindeferf.Close()scanner:=bufio.NewScanner(f)fmt.Println("Exercise1,Chapter4-DetectingincorrectpartsofIPv4Addresses,enteran

go - 当我添加表达式 "fmt.Println()"时发生了什么

我对golang很感兴趣,在探索channel期间,我对以下代码感到困惑,所以有人可以告诉我它们之间的区别吗?当我运行代码时,控制台记录-5,17如果我使用评论,我会得到不同的结果17,-5我不知道发生了什么......golang版本是最新的//commanfuncfuncsum(a[]int,cchanint){total:=0for_,v:=rangea{total+=v}c我期望两次结果是17,-5,但是当注释没有用时,结果是-517 最佳答案 golang使用调度程序来调度goroutines。您可以在这里阅读更多相关信息

python - 如何在 Python 中运行/与 Golang 可执行文件交互?

我在Windows上有一个名为cnki-downloader.exe的命令行Golang可执行文件(在此处开源:https://github.com/amyhaber/cnki-downloader)。我想在Python中运行这个可执行文件,并与之交互(获取它的输出,然后输入一些东西,然后获取输出,等等)这是一个命令行程序,所以我认为它与MSVC构建的普通Windows命令行程序相同。我的代码是这样的:#coding=gbkfromsubprocessimportPopen,PIPEp=Popen(["cnki-downloader.exe"],stdin=PIPE,stdout=PI

json - 如何替换 json 字符串和正则表达式中的双引号?

如何替换json字符串和正则表达式中的双引号?输入Json是:"RegDateTime":1481641851263,"Code":"123213",....输出应该是:"RegDateTime":"1481641851263","Code":"123213",....我只想修复RegDateTime的json键值。请建议任何正则表达式并用go语言中的双引号替换。 最佳答案 funcReplaceAllNumber(jsonstring)(string){re:=regexp.MustCompile("(:\\s*)(\\d+)(\

go - 为什么我从 golang 错误地运行 python 脚本

import("fmt""os/exec""bytes")funcmain(){cmd:="/root/hi.py>/root/1.log"out,err:=exec.Command("python","-c",cmd).Output()fmt.Printf("Out:%s",string(out))fmt.Printf("Err:%s",err.Error())}错误:没有这样的文件错误:/root/hi.py>/root/1.log//hi.py#!/usr/bin/pythonprint('helloworld') 最佳答案

regex - 从正则表达式构造字符串

我试图找到一种方法来从具有给定interface{}数组的已编译*regexp.Regexp构造string数据.例如:re:=regexp.MustCompile(`(?P\w+)\s*(?P\d+)`)我想通过string和int数据从re中找到的结构构造一个string可以作为接口(interface){}接收。不知道如何在Go中做到这一点。请帮帮我。提前致谢。 最佳答案 这样的库,常被称为Xeger,存在于许多语言中,包括go。然而,这个叫做regen:这是一个从Go/RE2正则表达式生成随机字符串的工具。这是一个例子:$r

go - 指向表达式结果的指针

我可以在不在Go中创建新变量的情况下创建一个指向表达式结果的指针吗?packagetestfuncfoo(*uint32){}funcmain(){foo(&(uint32(time.Now().Unix())))//thislinegivesmeerror//cannottaketheaddressofuint32(...} 最佳答案 在问题评论中,OP说protobuf消息需要指针。proto包提供了用于创建指向整数和其他值的指针的辅助函数。使用proto.Uint32获取指向uint32的指针的函数。x.Time=proto.

python - golang 像 python 一样定义 dict,并将值附加到 dict 中的列表

我是新手,正在尝试实现如下所示的类似python的嵌套结构,我无法在golang中定义空字典/映射,它可以包含特定结构/类对象的列表,并且在遍历数据时我不是能够在map/dict中附加项目...我将非常感谢对此的任何帮助...谢谢items=[("item1",someObj1),("item2",someObj2),("item3",someObj3),("item3",someObj5),("item1",someObj4),]rectors={}foritem,objinitems:try:rectors[item].append(obj)exceptKeyError:recto

python - 相当于golang中的itemgetter

我正在将一个程序从python转换为golang,我有一行获取嵌套列表中的第一个值:x_values=map(operator.itemgetter(0),self.coords)此命令将[[1,2],[2,3],[7,4]]转换为[1,2,7]。在go中有类似的东西吗? 最佳答案 Go中的等价物是for循环:packagemainimport("fmt")funcmain(){a:=make([][]int,3)a[0]=[]int{1,2}a[1]=[]int{2,3}a[2]=[]int{7,4}b:=make([]int,l